package com.sen.ssp.utils;

import java.util.Properties;

import org.springframework.beans.BeanUtils;
import org.springframework.util.ClassUtils;


/**
 * 配置管理工具类
 * 
 * @author sen
 */
public class ConfigManagerUtil {

	/** 异常错误码信息配置文件 */
	private static String ERRORCODE_CONFIG_FILE = "classpath:/errorcode.properties";
	/** 缓存管理类配置文件 */
	private static String CACHEMANAGER_CONFIG_FILE = "classpath:/cache.properties";
	/** 缓存信息配置文件 */
	private static String CACHE_CONFIG_FILE = "classpath:/cache.ccf";
	
	/**
	 * 获取异常错误码对应的信息，所有异常错误码配置在errorcode.properties文件中
	 * 
	 * @param errorCode 错误码
	 * @return String
	 */
	public static String getErrorInfo(String errorCode) {
		return PropertiesConfigManager.getInstance(ERRORCODE_CONFIG_FILE).getValue(errorCode);
	}
	
	/**
	 * 获取缓存管理类配置文件(cache.properties)的所有配置信息
	 * 
	 * @return Properties所有配置信息
	 */
	public static Properties getCacheManagers() {
		return PropertiesConfigManager.getInstance(CACHEMANAGER_CONFIG_FILE).getContent();
	}
	
	/**
	 * 获取缓存信息配置文件(cache.cff)的所有配置信息
	 * 
	 * @return Properties所有配置信息
	 */
	public static Properties getCacheConfig() {
		return PropertiesConfigManager.getInstance(CACHE_CONFIG_FILE).getContent();
	}
	
	public static void main(String[] args) throws ClassNotFoundException, LinkageError, InstantiationException, IllegalAccessException {
		Properties p = new Properties(ConfigManagerUtil.getCacheManagers());
		System.out.println(p.toString());
		
	}
}
